<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>认识Promise</title>
</head>

<body>
  <script>
    // 回调地狱

    /**
     * 目标：使用Promise管理异步任务
    */
    //  Promise浏览器内置对象  管理异步操作对象
    // 1.实例化Promise对象
    // 2. 执行一步操作  并传递结果
    // 3.获取结果   


    // axios调用返回的是Promise实例对象 then 和 catch是上面的方法
    let p = new Promise(function (resolve, reject) {
      // 利用定时器来模拟异步操作   成功就输出reslove   失败就输出reject
      setTimeout(function () {
        resolve('成功啦')   //只会成功一次
        resolve('成功啦111')
        // Math.random() > 0.5 ? resolve('成功啦') : reject('失败啦')
      }, 1000)
    })

    // 获取异步操作的结果
    p.then(res => {
      console.log(res, 'res');
    }).catch(err => {
      console.log(err, 'err');
    })

























    // const p = new Promise((resolve, reject) => {
    //   // 执行异步操作 并且传递结果
    //   setTimeout(() => {
    //     // 成功调用resolve
    //     // resolve('成功啦')
    //     // 失败调用reject
    //     reject('失败了')
    //   }, 1000)
    // })
    // // 接受成功结果
    // p.then(res => {
    //   console.log(res);   //在这里面接受或者使用税
    // }).catch(err => {
    //   console.log('失败了');
    // })



  </script>
</body>

</html>